Saltar al contenido principal

Refresh Token

Refresh Token​

El flujo para la utilización del refresh token obtenido en el flujo Authorization Code es una forma de permitir al integrador reutilizar los permisos concedidos en un flujo para generar nuevos tokens.

Particularidades​

El refresh token tiene una duración de 10 días y, cada vez que se utiliza, su duración se restablece a 10 días. Así, es posible utilizar el token indefinidamente, siempre que no exista el deseo de cambiar los alcances presentes en el flujo.

Además, siempre que un access token se genera por medio del refresh token, el access token antiguo se invalida en caso de estar dentro del período de duración de un access token(24h)

El Client podrá enviar una solicitud informando el refresh token referente al access token expirado:

POST /oauth2/token HTTP/1.1
Host: id.btgpactual.com
Content-type: application/x-www-form-urlencoded
Authorization: Basic <client_id:client_secret> // Base 64 encoded

grant_type=refresh_token&refresh_token={refresh_token}

Y así recibirá como response un nuevo Access Token y el Refresh Token tendrá su duración renovada:

HTTP/1.1 200 OK
Content-Type: application/json

{
"access_token":"eyJhbGciOiJSUzI1NiIsI",
"refresh_token":"WV6G4HKBrvgiLoFdMBiVx",
"scope":"apps email openid profile webhooks",
"id_token":"eyJhbGciOiJIUzI1NiJ9.eyJz",
"token_type":"Bearer",
"expires_in":86400
}

HTTP/1.1 200 OK
Content-Type: application/json

{
"access_token":"eyJhbGciOiJSUzI1NiIsI",
"refresh_token":"WV6G4HKBrvgiLoFdMBiVx",
"scope":"apps email openid profile webhooks",
"id_token":"eyJhbGciOiJIUzI1NiJ9.eyJz",
"token_type":"Bearer",
"expires_in":86400
}